Repository navigation
Notebook: one step at a time, in the decided order (PR 17a) - #244
Merged
Merged
Conversation
New notebook_stepper (strip of chips, Back/Next, one page shown) and notebook_steps (the decided order, pure composition of the existing cards; PreprocessingNotebook.steps()). The names rows move to notebook_names so the conditions and the replicate names sit on their own steps; the image type gets its own page (ImageTypeRows, the same answers). The shipped notebook shows notebook.steps() and results_step(). Text fixes: no stale RGB sentence in a described run, no broken-image icon before the preview, "above" not "below", reader and CSV lines behind Details, "folder" not "unit", step references to the new numbering. Box plots and curves order replicates by replicate ID. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G3qp9AxjpGPw9xfWAUJNqc
Widget tests for the stepper (Next, Back, strip state, a chip click, the overview, reopen landing, a changed reopen in orange, the state round trip, the image-type page, consistency only when it warns, the axes page text). Step 1 says where the consistency warnings went; the replicates line leaves out "single"; the pairing help and Describe the masks name the new steps. AGENTS.md map and CHANGELOG. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G3qp9AxjpGPw9xfWAUJNqc
guijacquemet
marked this pull request as ready for review
November 9, 2026 07:50
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G3qp9AxjpGPw9xfWAUJNqc # Conflicts: # CHANGELOG.md
This was referenced Nov 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR 17a of the notebook UX re-evaluation (owner decision 2026-11-09,
docs/restart/designs/ux-proposal-2026-11-09.mdon MorphoFeatureclaude/restart-doc). It shows one step at a time in the decided order. It is pure composition: the cards, answers, draft, save and run logic are unchanged. 17b (folding unchanged rows on reopen, the RGB colour composite, block-confirm tags per header group, one-click axes confirm) is not in this PR.Summary
notebook_stepper.py(new,ui, 196 lines) holds the genericStepper:set_visible, so hidden pages keep every widget);overview(n): one line per step, each with a change button.notebook_steps.py(new,ui) addsPreprocessingNotebook.steps(), which builds the 13 steps from the existing cards:The optional statistics page stays separate. The module also has the hooks:
notebook_step_states.py(new,ui) gives each step's done flag and one-line summary, read from the cards' existing state. On a reopen whose folders changed, an answer step (4-11) that is no longer done is marked "changed".notebook_names.py(new): the names-card row builders moved out ofnotebook_description.py, which goes from 588 to 467 lines. They also fillcondition_rows(step 4) andreplicate_rows(step 5). These are the same row widgets asnames_grid, so the names card renders as before.notebook_channels_type.py: newImageTypeRows, the image-type page. It uses the sameImageTypeColumncells, answers and refusals, plus the existingconfirm_headerfor an RGB pre-tick.TagGrid.place_types(default True) leaves out the type column when the stepper is used.notebook.steps()in the shipped notebook: one code cell showingwelcome(),steps()andresults_step().Embedders:
folder_step()andaxis_step()keep their signatures and contents.test_steps_one_and_two_embed_as_morphorelate_doespasses, andstepsis pinned intest_embedding_api.py.Text fixes:
experiment_design.csvlines are behind a Details fold (refusals and warnings stay visible);Run page fix: the box plots and curve legends order the replicates within a condition by replicate ID (
rep1beforerep2), not by folder name (RunLabels.order). PR Run page: channel and replicate IDs, no-problems icon, plan card, mask kinds #241 had kept the folder order. Regression test:test_replicates_within_a_condition_are_ordered_by_replicate_id, which fails on main.Notes for review
embed_minimal_htmlin Playwright chromium. They were not checked in a live JupyterLab or Colab. The notebook pinsRELEASE_REFv0.4.0, which has nosteps(), so the pin must move at release (as with the PR 16 pages).Tests
tests/test_notebook_stepper.py(11 tests):test_notebook_file.py(thesteps()cell),test_embedding_api.py(pinssteps), the folder wording intest_notebook_channels.py,test_notebook_check_save.py,test_notebook_mask_step.py, andtest_run_page_labels.py(the order regression).python tools/check.py(.[dev,notebook,zarr], Python 3.13): ruff, format and code rules pass; 4856 passed, 4 skipped. The 4 skips are environment-dependent: a case-sensitive file system ×3 and root ignoring file modes ×1. Main gave 4843 passed, 4 skipped.tests/channel_images.py). Each one was looked at.https://claude.ai/code/session_01G3qp9AxjpGPw9xfWAUJNqc
Generated by Claude Code